package cn.lg.soar.message.config;

import cn.lg.soar.message.client.MailApiClient;
import cn.lg.soar.message.client.NoticeApiClient;
import cn.lg.soar.message.client.SseApiClient;
import cn.lg.soar.message.client.WebSocketApiClient;
import cn.lg.soar.message.controller.NoticeController;
import cn.lg.soar.message.controller.SseController;
import cn.lg.soar.message.service.SseService;
import cn.lg.soar.message.service.WebSocket;
import cn.lg.soar.message.service.WebSocketManager;
import cn.lg.soar.message.service.WebSocketService;
import cn.lg.soar.message.service.impl.MailLogServiceImpl;
import cn.lg.soar.message.service.impl.MailServiceImpl;
import cn.lg.soar.message.service.impl.NoticeRecipientServiceImpl;
import cn.lg.soar.message.service.impl.NoticeServiceImpl;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;

/**
 * @author luguoxiang 469599794@qq.com
 * @Date: 2024/2/23 16:30
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@ImportAutoConfiguration({
        // 其他
        MessageSwaggerConfigurer.class,
        WebSocketConfig.class,
        // client
        MailApiClient.class,
        NoticeApiClient.class,
        SseApiClient.class,
        WebSocketApiClient.class,
        // service
        SseService.class,
        WebSocket.class,
        WebSocketManager.class,
        WebSocketService.class,
        MailLogServiceImpl.class,
        MailServiceImpl.class,
        NoticeServiceImpl.class,
        NoticeRecipientServiceImpl.class,

        // controller
        SseController.class,
        NoticeController.class,
})
public class AutoConfiguration {
    static {
        ExceptionHandleConfig.init();
    }
}
